package com.ruoyi.teaching.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.teaching.domain.PlatformCCourse;
import com.ruoyi.teaching.domain.VettingRequest;
import com.ruoyi.teaching.domain.vo.PlatformCCourseVO;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 王旭
 * @since 2024-06-13
 */
public interface PlatformCCourseService extends IService<PlatformCCourse> {
    AjaxResult selectPlatformCCourseById(Integer id);

    AjaxResult selectPlatformCCourseList(Integer professionalCategoryId,Integer professionalId,Integer courseVisible);

    AjaxResult insertPlatformCCourse(PlatformCCourseVO platformCCourseVO);

    AjaxResult updatePlatformCCourse(PlatformCCourseVO platformCCourseVO);

    AjaxResult deletePlatformCCourseByIds(Long[] ids);

    AjaxResult selectPlatformCCourseListStudent();

    AjaxResult selectPlatformCCourseListStudentTask();

    AjaxResult selectPlatformCCourseListUser(Integer pageNum, Integer pageSize, Integer professionalCategoryId, Integer professionalId, Integer courseVisible, Integer sortord, String courseName, Integer courseStatus);

    AjaxResult selectPlatformCCourseListSystemAdmin(Integer pageNum, Integer pageSize, String courseName, String createBy, Integer professionalCategoryId, Integer vettingStatus);

    AjaxResult updatePlatformCCourseVetting(VettingRequest vettingRequest);

    AjaxResult listPassed(Integer finishCourse);

    void addCourseView(Integer courseId);

    AjaxResult selectHotSearch();

    AjaxResult selectTeacherInfo(Integer userId);

    AjaxResult recordLearning(Long courseId, Long sectionId, String fileUrl);

    AjaxResult listSchoolAdmin(Integer pageNum, Integer pageSize, String courseName, String createBy, Integer professionalCategoryId, Integer vettingStatus);

    void deleteLearningRecord();

//    void addCourseStudent(Integer courseId);
}
